package top.laoshuzi.designpatterns.base.behavior.mediator;

/**
 * 抽象中介者
 */
public abstract class Mediator {

    protected Colleage colleageA;
    protected Colleage colleageB;
    protected Colleage colleageC;

    public Mediator(Colleage colleageA, Colleage colleageB, Colleage colleageC) {
        this.colleageA = colleageA;
        this.colleageB = colleageB;
        this.colleageC = colleageC;
    }

    //    public void affectB2A() {
//        colleageA.setValue(colleageB.getValue() - 1);
//    }
//
//    public void affectC2A() {
//        colleageA.setValue(colleageC.getValue() - 2);
//    }
//
//    public void affectA2B() {
//        colleageB.setValue(colleageA.getValue() + 1);
//    }
//
//    public void affectC2B() {
//        colleageB.setValue(colleageC.getValue() - 1);
//    }
//
//    public void affectA2C() {
//        colleageC.setValue(colleageA.getValue() + 2);
//    }
//
//    public void affectB2C() {
//        colleageC.setValue(colleageB.getValue() + 1);
//    }

    public abstract void affectA2B();

    public abstract void affectB2C();

    public abstract void affectC2B();

    public abstract void affectB2A();

}
